function generatePublishSucessPage(itemId) {
    return '<div class="n-result">'
        + '<h3>编辑成功！</h3>'
        + '<p><a href="/show?id=' + itemId + '">[查看内容]</a>'
        + '<a href="/">[返回首页]</a></p></div>';
}

function buttonEventBind() {
    //选择上传图片方式事件绑定
    $('input[name="pic"]').change(function () {
        var s, h;
        this.value === "url" ? (s = '#urlUpload', h = '#fileUpload') : (s = '#fileUpload', h = '#urlUpload');
        $(s).css("display", "block");
        $(h).css("display", "none");
    });

    //输入图片链接预览事件绑定
    $('input[name="image"]').on('input', function () {
        $('#imgpre').attr('src', $(this).val());
    });

    //上传图片按钮绑定事件
    $("#upload").click(function () {
        var file = $('#fileUp')[0].files;
        //todo 检查图片大小等操作,输入框是否合法
        var formData = new FormData();
        formData.append('file', file[0]);
        $.ajax({
            url: '/file/api/upload',
            type: 'POST',
            cache: false,
            data: formData,
            processData: false,
            contentType: false,
            success: function (data) {
                if (data.code === 200) {
                    $('#imgpre').attr('src', data.data);
                    $('input[name="image"]').val(data.data);
                } else {
                    alert("服务器错误，上传失败");
                }
            },
            error: function (data) {
                alert("上传失败,请重试!");
            }
        })
    });

    //保存按钮事件绑定
    $("#save-btn").on('click', (function () {
        var returnId = $('input[name="id"]').val();
        var submitData = {
            "id": $('input[name="id"]').val(),
            "name": $('input[name="title"]').val(),
            "remark": $('input[name="summary"]').val(),
            "picAddr": $('input[name="image"]').val(),
            "info": $('textarea[name="detail"]').val(),
            "price": Number($('input[name="price"]').val())
        };
        $.ajax({
            type: 'post',
            url: '/edit.json',
            data: JSON.stringify(submitData),
            cache: false,
            dataType: 'json',
            contentType: "application/json; charset=utf-8",
            success: function (data) {
                if (data.code === 200 || data.data) {
                    var pageButtomElem = $("#page-buttom");
                    pageButtomElem.empty();
                    pageButtomElem.append(generatePublishSucessPage(returnId));
                } else if (data.code === 300) {
                    alert("没有权限");
                } else {
                    alert("服务器错误，编辑失败");
                }
            },
            error: function (data) {
                alert("编辑失败,请重试!");
            }
        })
    }));
};


function editBtnEvent() {
    $("#page-buttom").empty();
    $("#page-buttom").load("/html/edit.html", function () {
        $('input[name="id"]').val(json_Data.id);
        $('input[name="title"]').val(json_Data.name);
        $('input[name="summary"]').val(json_Data.remark);
        $('#imgpre').attr('src', json_Data.picAddr);
        $('input[name="image"]').val(json_Data.picAddr);
        $('textarea[name="detail"]').text(json_Data.info);
        $('input[name="price"]').val(json_Data.price);
        buttonEventBind();
    });
}

function sellerProcess() {
    var html = '<a class="u-btn u-btn-primary" id="edit-btn">编 辑</a>';
    $("#oprt").append($(html));
    $("#num").css("display", "none");
    //为编辑按钮绑定事件
    $("#edit-btn").click(editBtnEvent);
}

//买家购买页面数量加按钮事件
function addNumEvent() {
    var num = parseInt($("#allNum").text());
    num++;
    $("#allNum").text(num);
}

//买家购买页面数量减按钮事件
function plusNumEvent() {
    var num = parseInt($("#allNum").text());
    if (num > 0) {
        num--;
    }
    $("#allNum").text(num);
}

//添加购物车后的回调函数
function addCartCallback(message) {
    $("#loading-result").text(message);
    $("#loading").css("display", "");
    setTimeout(function () {
        $("#loading").hide();
    }, 1000);
}

function buyerProcess() {
    var htmlNotBuy = '<button class="u-btn u-btn-primary" id="add" >加入购物车</button>';
    var htmlBuy = '<span class="u-btn u-btn-primary z-dis">已购买</span>'
        + '<span class="buyprice">当时购买价格：¥' + json_Data.prePrice + '</span>';
    if (json_Data.count > 0) {
        $("#oprt").append($(htmlBuy));
        $("#addNum").css("display", "none");
        $("#plusNum").css("display", "none");
    } else {
        $("#oprt").append($(htmlNotBuy));
        //加入购物车的选择框
        $("body").append($(dialog));
        $("#dialog-content").text("确认加入购物车吗？");
        $("#dialog").css("display", "none");

        //加入购物车成功消息框
        $("body").append($(loading));
        $("#loading").hide();

        $("#addNum").click(addNumEvent);
        $("#plusNum").click(plusNumEvent);
        $("#add").click(function () {
            $("#dialog").css("display", "");

            $('[data-action="cancel"]').unbind();
            $('[data-action="confirm"]').unbind();

            $('[data-action="cancel"]').click(function () {
                $("#dialog").hide();
            });
            $('[data-action="confirm"]').click(function () {
                $("#dialog").hide();

                var cartData = {
                    "id": json_Data.id,
                    "count": $("#allNum").text()
                };

                console.log(cartData);

                $.ajax({
                    type: 'post',
                    url: '/addCart.json',
                    data: cartData,
                    cache: false,
                    dataType: 'json',
                    success: function (data) {
                        if (data.code === 200 && data.data) {
                            addCartCallback("添加购物车成功");
                            window.location.assign("/itemCart");
                        } else if (data.code === 200 && !data.data) {
                            addCartCallback("购买数量为零");
                        } else if (data.code === 300) {
                            addCartCallback("请登录买家用户");
                        } else if (data.code === 400) {
                            addCartCallback("早已添加购物车或者无此商品");
                        } else {
                            addCartCallback("服务器错误");
                        }
                    },
                    error: function (data) {
                        alert("添加购物车失败,请重试!");
                    }
                });
            });
        });
    }
}

(function () {
    var userType = user_Data.loginType;
    switch (userType) {
        case 2:
            sellerProcess();
            break;
        case 1:
            buyerProcess();
            break;
        default:
            $("#num").css("display", "none");
            break;
    }
})();